package com.zc.demo;

import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.ArrayList;
import java.util.List;

/**
 * 描述：后端主要实现两个业务
 * 1、提交留言信息，并存储在内存中
 * 2、展示留言，即把内存中的信息响应给前端进行展示
 * 3、存储的数据结构选用List数组
 *
 * 首先后端需要获取前端的留言信息，即用户通过提交信息后，后端进行处理
 * 之间的数据传输通过JSON
 */


@RequestMapping("/info")
@RestController
public class MessageBoardController {
    private  List<Message> messages = new ArrayList<>();

    @RequestMapping("/getInfo")
    public List<Message> getMessagesList(){
        return messages;
    }

    //通过前端提交上来的数据进行存储
    @RequestMapping(value = "/publish",produces = "application/json")
    public String publish(@RequestBody Message message){
        //判断是否有数据
        if(StringUtils.hasLength(message.getFrom_who()) &&
            StringUtils.hasLength(message.getTo_who()) &&
            StringUtils.hasLength(message.getMessages())){
            //不为空，则加入到内存中
            messages.add(message);
            return "{\"ok\": 1}";
        }
        return "{\"ok\": 0}";
    }

}
